﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace PSI
{
    public class S_PodgladEDG1
    {
        public S_PodgladEDG1()
        {

        }


        public List<String> pobierzDane(String idFirma)
        {

            List<String> tab = new List<string>();

            String firma = idFirma;

            LINQDataContext bd = new LINQDataContext();

            var dane = from x in bd.psi_dane_edg1s
                       where x.firma_id == Int32.Parse(firma)
                       select x;

            psi_dane_edg1 edg = new psi_dane_edg1();
            foreach (var i in dane)
                edg = i;

            tab.Add(edg.nazwaorganuewidencyjnego + " " + edg.psi_adre.ulica + " " + edg.psi_adre.nrDomu + " " + edg.psi_adre.kodPocztowy + " " + edg.psi_adre.poczta);
            tab.Add(edg.nazwaurzeduskarbowego);
            tab.Add("BRAK POLA W BAZIE");  //poprzedni us
            tab.Add(edg.psi_adre5.miejscowosc);
            tab.Add(edg.nazwazus + " " + edg.psi_adre3.ulica + " " + edg.psi_adre3.nrDomu + " " + edg.psi_adre3.kodPocztowy + " " + edg.psi_adre3.poczta);
            tab.Add(edg.psi_dane_osobowe.plec.ToString());
            tab.Add(edg.psi_dane_osobowe.rodzdoktozsamosci + " " + edg.psi_dane_osobowe.seriadoktozsamosci + " " + edg.psi_dane_osobowe.numerdoktozsamosci);
            tab.Add(edg.psi_dane_osobowe.pesel);
            tab.Add(edg.psi_dane_osobowe.nip);
            tab.Add(edg.psi_dane_osobowe.regon.ToString());
            tab.Add(edg.psi_dane_osobowe.nazwisko);
            tab.Add(edg.psi_dane_osobowe.imie1);
            tab.Add(edg.psi_dane_osobowe.nazwiskorodowe);
            tab.Add(edg.psi_dane_osobowe.imie2);
            tab.Add(edg.psi_dane_osobowe.imieojca);
            tab.Add(edg.psi_dane_osobowe.imiematki);
            tab.Add(edg.psi_dane_osobowe.miejsceur);
            tab.Add(edg.psi_dane_osobowe.dataur.ToShortDateString());
            tab.Add(edg.psi_dane_osobowe.psi_obywatelstwo.obywatelstwo);

            tab.Add("POLSKA");
            tab.Add(edg.psi_dane_osobowe.psi_adre1.wojewodztwo);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.powiat);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.gmina);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.miejscowosc);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.ulica);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.nrDomu);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.nrLokalu);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.kodPocztowy);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.poczta);
            tab.Add(edg.psi_dane_osobowe.psi_adre1.nietypowyOpis);


            psi_adre a1 = new psi_adre();
            a1 = edg.psi_dane_osobowe.psi_adre1;

            psi_adre a2 = new psi_adre();
            a2 = edg.psi_dane_osobowe.psi_adre2;

            
            if (porownajAdres(a1,a2))
            {
                


                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
            }

            else
            {

                tab.Add(edg.psi_dane_osobowe.psi_adre2.wojewodztwo);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.powiat);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.gmina);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.miejscowosc);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.ulica);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.nrDomu);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.nrLokalu);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.kodPocztowy);
                tab.Add(edg.psi_dane_osobowe.psi_adre2.poczta);

                
            }

             

            tab.Add(edg.oznaczenieprzedsiebiorcy);
            tab.Add(edg.nazwaskrocona);
            tab.Add(edg.datarozpdzialalnosci.Value.ToShortDateString());


            //symbole
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");

            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            tab.Add(" ");
            //
            if (porownajAdres(edg.psi_adre2, edg.psi_dane_osobowe.psi_adre1))
            {
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
            }

            else
            {
                tab.Add(edg.psi_adre2.wojewodztwo);
                tab.Add(edg.psi_adre2.powiat);
                tab.Add(edg.psi_adre2.gmina);
                tab.Add(edg.psi_adre2.miejscowosc);
                tab.Add(edg.psi_adre2.ulica);
                tab.Add(edg.psi_adre2.nrDomu);
                tab.Add(edg.psi_adre2.nrLokalu);
                tab.Add(edg.psi_adre2.kodPocztowy);
                tab.Add(edg.psi_adre2.poczta);
                tab.Add(edg.psi_adre2.nietypowyOpis);
            }

            if (porownajAdres(edg.psi_dane_osobowe.psi_adre1, edg.psi_dane_osobowe.psi_adre))
            {
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
                tab.Add("taki sam");
            }
            else
            {

                tab.Add(edg.psi_dane_osobowe.psi_adre.wojewodztwo);
                tab.Add(edg.psi_dane_osobowe.psi_adre.powiat);
                tab.Add(edg.psi_dane_osobowe.psi_adre.gmina);
                tab.Add(edg.psi_dane_osobowe.psi_adre.miejscowosc);
                tab.Add(edg.psi_dane_osobowe.psi_adre.ulica);
                tab.Add(edg.psi_dane_osobowe.psi_adre.nrDomu);
                tab.Add(edg.psi_dane_osobowe.psi_adre.nrLokalu);
                tab.Add(edg.psi_dane_osobowe.psi_adre.kodPocztowy);
                tab.Add(edg.psi_dane_osobowe.psi_adre.poczta);
            }

            tab.Add(edg.psi_danefirmy.psi_kontakt.telefon);
            tab.Add(edg.psi_danefirmy.psi_kontakt.email);
            tab.Add(edg.psi_danefirmy.psi_kontakt.fax);
            tab.Add(edg.psi_danefirmy.psi_kontakt.www);

            tab.Add(edg.przewidywanaliczbapracujacych.ToString());
            tab.Add(edg.przewidywanaliczbazatrudnionych.ToString());
            tab.Add(edg.datapowstaniaobowiazkuplaceniazus.Value.ToShortDateString());

            tab.Add(edg.nazwajednostkikrus);
            tab.Add(edg.kontynuacjaubezpieczeniarolnikow);
            tab.Add(edg.pozarolniczadzialalnoscgosp);
            tab.Add(edg.wspolpracaPrzyProwadzeniuPozarolniczejDzialGosp);
            tab.Add(edg.zaswiadczenieUSkrbKwotaPodatekZaRolniczaDzialGosp);
            tab.Add(edg.zalacznikZaswPodatekPozarolniczejDzialGosp);

            tab.Add(edg.biuroRachunkoweNazwa);
            tab.Add(edg.biuroRachunkoweNIP);

            tab.Add(edg.psi_adre1.wojewodztwo);
            tab.Add(edg.psi_adre1.powiat);
            tab.Add(edg.psi_adre1.gmina);
            tab.Add(edg.psi_adre1.miejscowosc);
            tab.Add(edg.psi_adre1.ulica);
            tab.Add(edg.psi_adre1.nrDomu);
            tab.Add(edg.psi_adre1.nrLokalu);
            tab.Add(edg.psi_adre1.kodPocztowy);
            tab.Add(edg.psi_adre1.poczta);

            tab.Add(edg.rodzajDokumentacjiRachunkowej);
            tab.Add(edg.zakladPracyChronionej);
            tab.Add(edg.zagranicznePrzedsiebiorstwoDrobnejWytworczosci);
            tab.Add(edg.dzialalnoscGospWylacznieWformieSpolkiCywilnej);

            tab.Add(edg.zalacznikEDGRDilosc.ToString());
            tab.Add(edg.zalacznikEDGRWilosc.ToString());
            tab.Add(edg.zalacznikEDGRBilosc.ToString());
            tab.Add(edg.pelnomocnictwailosc.ToString());



            return tab;
        }

        bool porownajAdres(psi_adre adres1, psi_adre adres2)
        {

            if(adres1.gmina.Equals(adres2.gmina) && adres1.kodPocztowy.Equals(adres2.kodPocztowy)  && adres1.miejscowosc.Equals(adres2.miejscowosc) && adres1.nrDomu.Equals(adres2.nrDomu) && adres1.poczta.Equals(adres2.poczta) && adres1.powiat.Equals(adres2.powiat) && adres1.ulica.Equals(adres2.ulica) && adres1.wojewodztwo.Equals(adres2.wojewodztwo))

            {
                return true;
            }
            else
                return false;
        }
    }
}